/**
 * 资源路径工具函数
 * 自动处理基于basePath的静态资源路径
 * 区分正式环境和测试环境
 */

// 环境判断
const isDev = process.env.NEXT_PUBLIC_ENV === 'development';

// 在开发环境中不使用basePath，在生产环境中使用配置的basePath
const BASE_PATH = isDev ? '' : (process.env.NEXT_PUBLIC_BASE_PATH || '/wxpubpayweb');

/**
 * 获取带有正确前缀的静态资源路径
 * @param path 资源路径
 * @returns 添加了basePath前缀的完整路径
 */
export const getAssetPath = (path: string): string => {
  // 如果路径已经是绝对URL，则直接返回
  if (path.startsWith('http')) {
    return path;
  }
  
  // 如果是开发环境或BASE_PATH为空，直接返回规范化的路径
  if (BASE_PATH === '') {
    // 确保路径以/开头
    return path.startsWith('/') ? path : `/${path}`;
  }
  
  // 如果路径已经包含basePath，则直接返回
  if (path.startsWith(BASE_PATH)) {
    return path;
  }
  
  // 确保路径以/开头
  const normalizedPath = path.startsWith('/') ? path : `/${path}`;
  return `${BASE_PATH}${normalizedPath}`;
};
